/**
 * @author deming.su
 * @date 2022-02-17
 * @description 定义数据管理器的state、getters、mutations、actions、modules配置
 */
// 进行vuex插件注册
import Vue from 'vue'
import Vuex from 'vuex'
import persistedState from 'vuex-persistedstate'

Vue.use(Vuex)

// 引入模块
import common from './common'

// 实例化 -- 因为是模块化管理，所以每一个模块应该是一个独立的模块（每一个模块应该是一个文件）
const store = new Vuex.Store({

    // 添加vuex数据持久化库插件
    plugins: [
        // 注册插件
        // 我们的数据都是用户登录以后才有的数据，应该为一个会话数据，所以应该存在sessionStorage中
        persistedState({
            // 指定存储数据的位置
            storage: window.sessionStorage
        })
    ],
    // 模块
    modules: {
        common,
    }
})

export default store